package com.fpd.model.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fpd.tools.DateUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

@Data
@ApiModel(description = "案件信息数据模型")
public class CustomerCaseInfoEditVO {
	private String id;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date createTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date updateTime;

	@ApiModelProperty(value = "合同号", example = "", hidden = false)
	private String contractNumber;

	@ApiModelProperty(value = "客户姓名", example = "", hidden = false)
	private String custName;

	@ApiModelProperty(value = "客户分类（1：全部还款客户；2：部分还款客户；3：待跟进客户；4：拒绝回款客户；）", example = "", hidden = false)
	private String custClassify;

	private String batchNo;

	private String productName;

	private String goodsDetails;

	@ApiModelProperty(value = "客户号", example = "", hidden = false)
	private String custNo;

	@ApiModelProperty(value = "客户手机号", example = "", hidden = false)
	private String phoneNumber;

	@ApiModelProperty(value = "年龄段(1:18-25岁，2：26-35岁，3：36-45岁，4：46岁及以上)", example = "", hidden = false)
	private String agePart;

	private BigDecimal firstPayAmount;

	private String store;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date beginTimeCase;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date takeBackPlanTime;

	private BigDecimal loanAmount;

	private int loanPeriod;

	private String loanType;// 贷款类型（1：信用分期(以身份证贷款)；2：信用分期；3：实体店商品分期；4：随借随还贷；5：虚拟信用卡；6：网上商品分期）

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date contractValidTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date firstRepaymentTime;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date paymentDueDay;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date cancelTime;

	private BigDecimal cancelBeforeRepaymentAmount;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private BigDecimal qikuanAmount;

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private BigDecimal zhinajin;

	private Integer yuqiDay;// 逾期天数

	private BigDecimal yuqiAmount;// 逾期金额

	private BigDecimal leftTotalDebt;// 剩余总欠款

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date recentlyRepaymentTime;

	private BigDecimal recentlyRepaymentAmount;

	private int hasBackNumber;

	private BigDecimal totalRepaymentAmount;

	private int caseType;// 案件类型（1：正常案件；2：冲裁案件；3：其他案件）

	private String unableSendReason;// 不能发函原因

	private String submitId;// 提交人id

	private String sendUserId;// 律师函发送人

	private Integer caseState;// 案件状态（1：待催收；2：已发律师函未来访；3：已来访；4：已跟进；5：回款中；6：回款完成；7：催收失败；8：无法发函）

	private String caseNo;// 案件号

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date arbitrationDate;// 申请仲裁日期

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private Date rulingDate;// 裁决日期

	@ApiModelProperty(value = "委托方", example = "", hidden = false)
	private String thirdParty;// 委托方

	private int repentNum;// 合同重复次数

	private int aging;// 帐龄段(0：0天；1: 0-1年；2：1-2年；3：2-3年；4：3年以上)
	
	private String beginDate;//委案开始时间（年月日）
	
	public String getBeginDate() {
		return null == this.beginTimeCase ? "" : DateUtil.parseDateToStr(this.beginTimeCase, DateUtil.DATE_TIME_FORMAT_YYYYMMDD);
	}
}